package org.dmcs.homework.statistics.api;

import Jama.Matrix;

/**
 * Calculates the covariance matrix for a given data set and class objects.
 * @author Zielony
 * @version 1.0
 */
public interface ICovarianceCalculator {
	/**
	 * Calculates the covariance matrix for a given data set and class objects.
	 * @param data the given data set.
	 * @param ClassIndices the column indices of class objects.
	 * @param selectedFeatures the indices of the dimensions used for the covariance
	 * calculation.
	 * @return the covariance matrix.
	 */
	public Matrix calculateCovarianceMatrix(Matrix data, int[] classIndices, 
			int[] selectedFeatures);
	
	/**
	 * Calculates the covariance matrix for a given data set and class objects.
	 * @param data the given data set.
	 * @param ClassIndices the column indices of class objects.
	 * @return the covariance matrix.
	 */
	public Matrix calculateCovarianceMatrix(Matrix data, int[] classIndices);
}